/*
 * tip_task.h
 *
 *  Created on: 2024年8月13日
 *      Author: nwz
 */

#ifndef CODE_TASK_TIP_TASK_H_
#define CODE_TASK_TIP_TASK_H_

typedef enum tip_task_state{
	TIP_TASK_STATE_STARTUP,
	TIP_TASK_STATE_APP_FLAG_WRONG,
	TIP_TASK_STATE_SHOW_CHOICES,
	TIP_TASK_STATE_DOWN_APP,
	TIP_TASK_STATE_DOWN_BOOTLOADER,
	TIP_TASK_STATE_DOWNING_BOOTLOADER,
	TIP_TASK_STATE_DOWNING_APP,
	TIP_TASK_STATE_UPDATE_APP,
	TIP_TASK_STATE_UPDATE_BOOTLOADER,
	TIP_TASK_STATE_APP_SIZE_TOO_BIG,
	TIP_TASK_STATE_BOOTLOADER_SIZE_TOO_BIG,
	TIP_TASK_STATE_APP_SIZE_TOO_SMALL,
	TIP_TASK_STATE_BOOTLOADER_SIZE_TOO_SMALL,
	TIP_TASK_STATE_DOWN_APP_OK,
	TIP_TASK_STATE_DOWN_BOOTLOADER_OK,
	TIP_TASK_STATE_PREPARE_APP,
	TIP_TASK_STATE_PREPARE_BOOTLOADER,
	TIP_TASK_STATE_UPDATE_APP_SUCCESS,
	TIP_TASK_STATE_UPDATE_BOOTLOADER_SUCCESS,
	TIP_TASK_STATE_UPDATE_CHECK_ERR,
	TIP_TASK_STATE_FLASH_COPY_WRONG,
} tip_task_state_t;

void tip_task_init(void);

void tip_task_run(void* arg);

void tip_task_set_state(tip_task_state_t state);

void tip_task_set_info(uint8_t *data, uint32_t len);

void tip_task_set_info_no(int err_number);

#endif /* CODE_TASK_TIP_TASK_H_ */
